Home Up
Home Teaching Glossary ARM Processors Supplements Prof issues About

Click here to follow the execution of a data processing  instruction.

Executing an Instruction Step-by step

The following diagram is a simplified version of the processor. It contains only those components and data paths necessary for a register-to-register data processing instruction. Operations involving literals cannot be executed, and there is no provision for changing the sequence of instructions (branch, jumps, function calls, conditional operations are all excluded).

Note that these is no data memory. That is required only for load and store operations.

In this figure data flows from left-to-right beginning with the PC, program counter. The program counter also automatically increments itself by 4 after each clock.

The data flow is:

  1. Program counter to instruction memory (look up the next operation)
  2. Instruction memory to register file (look up the operands, the data, required by the current instruction)
  3. Register file to ALU (perform the required operation on the two operands)
  4. ALU to register file (store the result from the ALU back in the register file).

Note how the register file does a double duty. First look up the operands and then store the result.

To see the sequence of operations and timing, click the blue link.